package com.ocom.payhandle.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.entity.card.EntityXfAccountInfo;
import com.ocom.common.entity.card.EntityXfRecordProcess;

//账户类型
public interface XfAccountInfoService extends IService<EntityXfAccountInfo> {

	//用户金额修改
	EntityXfAccountInfo chageUserMoney(Long companyId , Long pId ,Integer money,Integer subMoney);

    EntityXfAccountInfo changeUserMoney2(Long companyId , Long pId ,Integer money,Integer subMoney);

    EntityXfAccountInfo selectAccount(Long companyId, String accountNo);

    boolean updateAccountMoney(Long companyId, Long chargeBalance, Long subBalance, Integer id);

    boolean updateAccountMoneyTransactional(Long companyId, Long chargeBalance, Long subBalance, Integer id,EntityXfRecordProcess origOrder,EntityXfRecordProcess refundOrder);

    EntityXfAccountInfo selectAccountPid(Long companyId, Long pId);

    void updateAccountTransactional(Long companyId, Integer id, EntityXfRecordProcess entityXfRecordProcess, EntityXfRecordProcess updateXfRecordProcess);

    EntityXfAccountInfo selectAccountNoBalance(Long companyID, String accountNo);

    EntityXfAccountInfo selectPIdBalance(Long companyID, Integer pId);

    boolean updateSign(Long companyId, Long pId, Integer signType, String signNo);

    boolean paraRefund(Long companyId,Integer accountId, Long orgId,EntityXfRecordProcess updateXfRecordProces,Integer refnudChargeBalance);
    boolean paraRefundB(Long companyId,Integer accountId, Long orgId,EntityXfRecordProcess updateXfRecordProces,Integer refnudChargeBalance);

    public void gzhRefundMoney(Long companyId, Integer id, EntityXfRecordProcess entityXfRecordProcess, EntityXfRecordProcess updateXfRecordProcess);

    public void gzhRefundOrderStatusSucc(Long companyId, EntityXfRecordProcess entityXfRecordProcess, EntityXfRecordProcess updateXfRecordProcess);

    public void gzhRefundOrderStatusFail(Long companyId, Integer id, EntityXfRecordProcess entityXfRecordProcess, EntityXfRecordProcess updateXfRecordProcess);

}
